home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1989 November / 1989-11.d64 / flash card (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  4KB  |  170 lines

  1. 10 poke53280,6:poke53281,15
  2. 20 print"[147]":printtab(12)"copyright 1989"
  3. 30 printtab(6)"compute! publications, inc."
  4. 40 printtab(10)"all rights reserved"
  5. 50 for x=1to2000:next
  6. 60 gosub1080:goto1260
  7. 70 printchr$(147)
  8. 80 a$="flash":z=va+81:gosub1110
  9. 90 a$="card":z=va+321:gosub1110
  10. 100 fori=1to13:print:nexti
  11. 110 printtab(13)"1. "p$(1)
  12. 120 printtab(13)"2. "p$(2)
  13. 130 printtab(13)"3. "p$(3)
  14. 140 printtab(13)"4. "p$(4)
  15. 150 printtab(13)"5. "p$(5):print
  16. 160 getj$:ifj$<>""then160
  17. 170 i=0:printtab(13)p$(6);:inputi
  18. 180 ifi<1ori>5then170
  19. 190 onigoto200,210,220,230,240
  20. 200 it=43:p=1:goto700
  21. 210 it=45:p=2:goto700
  22. 220 it=42:p=3:goto570
  23. 230 it=47:p=4:goto570
  24. 240 end
  25. 250 hn=ha-la+1
  26. 260 tn=int(rnd(0)*(ha-la+1))+la
  27. 270 bn=int(rnd(0)*(ha-la+1))+la
  28. 280 ifaz(tn,bn)=1then260
  29. 290 az(tn,bn)=1:ay=ay+1
  30. 300 ifit=43thenan=tn+bn
  31. 310 ifit=45thenna=tn+bn:an=tn:tn=na
  32. 320 ifit=42thenan=tn*bn
  33. 330 ifit=47thenna=tn*bn:an=tn:tn=na
  34. 340 ifan>int(an)then370
  35. 350 ifan>9ortn>9orbn>9thenli=1
  36. 360 gosub810
  37. 370 ifay=(hn)*(hn)thengoto1200
  38. 380 li=0:goto260
  39. 390 s=0
  40. 400 ifs=1then440
  41. 410 tn=int(rnd(0)*(nh-nl+1))+nl
  42. 420 bn=ha
  43. 430 ifs=0then460
  44. 440 tn=ha
  45. 450 bn=int(rnd(0)*(nh-nl+1))+nl
  46. 460 ifaz(tn,bn)=1then530
  47. 470 az(tn,bn)=1:ay=ay+1
  48. 480 ifit=42thenan=tn*bn
  49. 490 ifit=47thenna=tn*bn:an=tn:tn=na
  50. 500 li=1:gosub810
  51. 510 ifit=42anday=19then10
  52. 520 ifit=47anday=10then10
  53. 530 s=s+1
  54. 540 ifit=47then390
  55. 550 ifs>1then390
  56. 560 goto400
  57. 570 gosub1240
  58. 580 printtab(10)"1. select range"
  59. 590 print:printtab(10)"2. practice tables":print
  60. 600 getj$:ifj$<>""then600
  61. 610 i=0:printtab(10)p$(6);:inputi
  62. 620 ifi<1ori>2then570
  63. 630 ifi=1then700
  64. 640 gosub1240
  65. 650 print:printtab(05)"for tables "p$(6):print
  66. 660 getj$:ifj$<>""then660
  67. 670 ha=0:printtab(05)"from";nl;"to";nh;:inputha
  68. 680 ifha<nlorha>nhthen570
  69. 690 goto390
  70. 700 gosub1240
  71. 710 printtab(5)"flash card will randomly display"
  72. 720 print:printtab(5)"all combinations in a range"
  73. 730 print:printtab(5)"of difficulty from";nl;"to";nh
  74. 740 getj$:ifj$<>""then740
  75. 750 print:printtab(5)"highest number";:inputha
  76. 760 ifha<nlorha>nhthen740
  77. 770 print:printtab(5)"lowest number ";:inputla
  78. 780 ifla<nlorla>nhthen770
  79. 790 ifla>hathen700
  80. 800 goto250
  81. 810 printchr$(147)
  82. 820 iftn<10then880
  83. 830 iftn<100then860
  84. 840 a=int(tn/100)+48:x=va+090
  85. 850 tn=tn-((a-48)*100):gosub1150
  86. 860 a=int(tn/10)+48:x=va+095
  87. 870 tn=tn-((a-48)*10):gosub1150
  88. 880 a=tn+48:x=va+100:gosub1150
  89. 890 ifbn<10then920
  90. 900 a=int(bn/10)+48:x=va+375
  91. 910 bn=bn-((a-48)*10):gosub1150
  92. 920 a=bn+48:x=va+380:gosub1150
  93. 930 a=it:x=va+368:gosub1150
  94. 940 ifli<1then960
  95. 950 a=28:x=va+614:gosub1150
  96. 960 a=28:x=va+619:gosub1150
  97. 970 getj$:ifj$<>""then970
  98. 980 geta$:ifa$=""thengoto980
  99. 990 ifan<10then1050
  100. 1000 ifan<100then1030
  101. 1010 a=int(an/100)+48:x=va+730
  102. 1020 an=an-((a-48)*100):gosub1150
  103. 1030 a=int(an/10)+48:x=va+735
  104. 1040 an=an-((a-48)*10):gosub1150
  105. 1050 a=an+48:x=va+740:gosub1150
  106. 1060 getj$:ifj$<>""then1060
  107. 1070 geta$:ifa$=""thengoto1070
  108. 1080 gosub1240
  109. 1090 printtab(13)"please wait ..."
  110. 1100 fori=1to500:nexti:return
  111. 1110 fori=1tolen(a$)
  112. 1120 a=asc(mid$(a$,i,1))-64
  113. 1130 x=z+(i*6):gosub1150
  114. 1140 nexti:return
  115. 1150 cm=gm+(a*64):w=peek(cm):k=1
  116. 1160 form=xtox+w-1
  117. 1170 forn=mtom+40*(h-1)step40
  118. 1180 poken+cc,c:poken,peek(cm+k):k=k+1
  119. 1190 nextn:nextm:return
  120. 1200 fortn=nltonh:forbn=nltonh
  121. 1210 az(tn,bn)=0:nextbn:nexttn
  122. 1220 ay=0:goto70
  123. 1230 ay=0:goto70
  124. 1240 printchr$(147):printtab(15)p$(p)
  125. 1250 fori=1to5:print:nexti:return
  126. 1260 poke 650,128:poke 56,128:clr
  127. 1270 va=1024:cc=55296-va:gm=36864
  128. 1280 c=2:h=5:dimaz(50,50):diml$(64)
  129. 1290 g(0)=32:g(1)=160:g(2)=98:g(3)=226
  130. 1300 g(4)=223:g(5)=105:g(6)=95:g(7)=233
  131. 1310 g(8)=97:g(9)=225:g(10)=100
  132. 1320 p$(1)="addition":p$(2)="subtraction"
  133. 1330 p$(3)="multiplication":p$(4)="division"
  134. 1340 p$(5)="exit":p$(6)="select a number"
  135. 1350 nl=1:nh=10
  136. 1360 l$(1)="3711101010041110"
  137. 1370 l$(3)="3711601001010010"
  138. 1380 l$(4)="3111101001041150"
  139. 1390 l$(6)="3111101230012300"
  140. 1400 l$(8)="3111100230011110"
  141. 1410 l$(12)="3111100001000010"
  142. 1420 l$(18)="3111101016041540"
  143. 1430 l$(19)="3713101231012150"
  144. 1440 l$(28)="51000010000100001000010000"
  145. 1450 l$(42)="446750045000760075460"
  146. 1460 l$(43)="50010000100111110010000100"
  147. 1470 l$(45)="50010000100001000010000100"
  148. 1480 l$(47)="50230002300123100230002300"
  149. 1490 l$(48)="411111100011000111111"
  150. 1500 l$(49)="407001711118888100008"
  151. 1510 l$(50)="475071107511750145001"
  152. 1520 l$(51)="410101101011010111111"
  153. 1530 l$(52)="411100001000010011111"
  154. 1540 l$(53)="411101101011010110111"
  155. 1550 l$(54)="411111101011010110111"
  156. 1560 l$(55)="410000100001000011111"
  157. 1570 l$(56)="411111101011010111111"
  158. 1580 l$(57)="411101101011010111111"
  159. 1590 l$(61)="401010010100101001010"
  160. 1600 y=-1
  161. 1610 fori=0to4032step64
  162. 1620 y=y+1:ifval(l$(y))=0then1690
  163. 1630 xy=val(mid$(l$(y),1,1))
  164. 1640 pokegm+i,xy
  165. 1650 forz=2tolen(l$(y))
  166. 1660 xy=val(mid$(l$(y),z,1))
  167. 1670 pokegm+i+z-1,g(xy)
  168. 1680 nextz
  169. 1690 nexti:goto70
  170.